Linux学习笔记(十二):Linux软件包管理(续)

您所在的位置:网站首页 linux 安装pcap Linux学习笔记(十二):Linux软件包管理(续)

Linux学习笔记(十二):Linux软件包管理(续)

2023-03-29 21:10| 来源: 网络整理| 查看: 265

(四)免安装二进制包

前面讲过二进制包有2种:1、rpm格式,需要rpm -ivh安装。这种二进制包就是一个打包好的安装程序,关于软件的安装路径都固定好了,比如配置文件默认放在/etc下面,所有配置文件、可执行程序都放在压缩包里了。清除的时候也需要清理较多的文件目录。2、tar.gz格式,直接tar -zxvf解压即用。这种二进制软件包,是一个已经编译好的二进制命令,也就是一个我们拿来解压即可用的免安装二进制软件包。如果要删除也是只删除一个文件夹即可。

一般情况下,我们说的二级制包都是指第一种rpm包。本部分以java环境部署为例,给大家展示第二种二进制包的使用。第一步:下载二进制java的软件包最可靠的下载途径就是上java的官网去下载。但是需要注册。注册完就可以下载,也很方便。

这个.tar.gz包就是一个已经编译好的java程序,安装上这个程序就可以java开发了,就跟我们前面安装的golang、python等软件一样。这个.tar.gz包只要上传到我们的linux上,然后解压缩,就可以使用了。

第二步:解压缩

正常情况下,这个软件就可以直直接运行了,但是java比较特殊,还需要配置linux的环境变量才可以使用,如果是golang,解压缩完后,只需把命令添加到PATH变量中,即可快速使用。所以我们还要配置linux环境变量。

第三步:配置java的linux环境变量

做软链接的好处是:文件jdk1.8.0_221太长,如果我们直接把这个文件名放到PATH变量中,后期我们要是修改软件的配置文件时,如果涉及到path变量,这个很长的名字很容易报错。比如我们nginx或者数据库,它的文件名更长,直接放到path中,那你的path变量就会很长很长,看着很乱。所以加个软链接就很友好了。

第四步:验证java环境是否可以正常使用

(五)yum命令前面讲linux下,我们要安装软件,首先要获取rpm包再安装rpm包。而获取rpm包,一是自己去对应软件的官网下载rpm包;二是去本地操作系统光盘中找找有没有相关的rpm包;三是,就是去第三方软件仓库看看有没有相关软件包。本部分讲去第三方软件仓库获取并安装rpm软件包。

第三方软件仓库可以类比360软件管家或者手机里的应用app等,里面有一个超大的rpm软件包仓库。你可以使用它进行软件搜索、下载、一键安装、升级、卸载等操作。在linux下,你可以自建软件库,也可以使用别人的软件库。使用别人的软件库,最常见的就是使用专门做软件仓库的第三方公司,比如:阿里源:https://opsx.alibaba.com/mirror清华源:https://mirrors.tuna.tsinghua.edu.cn/国外较知名得网络源有:centos源、redhat源、扩展epel源等。只要你的linux有yum工具,yum工具就可以针对你当前机器的软件包环境去搜索、安装、升级、卸载这些软件包。

但是,我们想要用yum工具获取软件仓库中的软件,我们就得配置yum源。yum源配置完成后,我们就可以方便的使用yum install xxx -y,自动的从软件仓库中搜索、下载、并解决各种依赖得去安装软件了。就是yum工具不仅可以帮助我们自动下载还可以自动搜索、自动安装还可以自动判断并解决依赖关系,我们只需要敲yum install xxx -y即可。比如你机器上安装的nginx服务,它依赖名为xxx-1.1版本的基础环境包,而你机器上的mysql数据库也依赖xxx-1.2版本的基础环境包。此时你如果手动安装mysql时,你就必须得保证1.1版本和1.2版本不能冲突,否则nginx跑起来了mysql就不能跑,mysql跑起来nginx就没法跑。此时手动安装就非常麻烦,用yum安装就很方便。

yum是一个软件自动化管理的命令,是linux操作系统内置的一个软件管理命令,管理的是centos发行系列的rpm包。所以,yum管理的也是rpm软件包,而且也是通过rpm去管理的,所以,也可以说yum是对rpm命令的再次打包升级,yum可以自动解决依赖关系,而rpm不行,得手工安装依赖。所以,能用rpm管理的软件,yum都也可以管理。但是如果你的软件是你自己手动编译安装的,比如安装在/opt目录下,那yum工具是没法帮你管理的。

1、配置yum源介绍配置yum源的实质是:(1)在/etc/yum.repo.d/目录下,下载了一个yum的配置文件,这个配置文件里面是一个或多个url链接,就是告诉yum去哪里找rpm包而已。(2)所以,这些url是指向一个镜像站。比如指向了阿里云的centos仓库,就等于在线获取了一个阿里云的光盘镜像站,里面有操作系统,以及自带的各种rpm包。(3)当你yum install安装的时候,yum就自动去这个网站里,搜索和软件名字相关的rpm包,进行下载和安装。所以,yum源的配置有很多方法:(1)你可以配置本地源。方法1:就是配置你本地的光盘源。比如我们前面讲的将centos7.iso进行挂载,centos7.iso里面就有大量的rpm软件包。这种方法在本部分-6会详细演示。方法2:或者你在本地自建yum仓库目录,比如你也可以像网易阿里那样自建软件仓库。这种方法会在本部分-7详细演示。在这2种方法下,你都可以离线安装了。(2)你还可以配置网络源,就是配置第三方专门做软件仓库的公司的仓库,就是上面讲的阿里云源、清华源、国外源等,但此时你就不能离线了。这种方法本部分-2详细演示。一些大型公司都会选择自建本地源,就是自建本地yum仓库,因为要构建企业内部的devops全链路流水线,就是从代码上传到下载都要有标准化的流水线,所以要建自己的rpm仓库,而且还安全。

2、配置网络yum源:以阿里源为例平时我们个人用的最多的是网络源。这里我们就以配置阿里云的yum源为例,展示配置步骤。(1)备份你Linux中默认的yum仓库配置文件

(2)阿里云的yum源配置官网是:http://mirrors.aliyun.com,你要先打开这个网址

(3)至少要配置2个源:打开上面网址后,你会发现有很多很多镜像源,这里我们只有配置2个源即可。第一个源是能够下载centos自带的绝大多数软件,第二个源是epel仓库,这个仓库是可以下载绝大多数第三方软件的仓库。如下图所示,点击进入下面的2个仓库

然后再复制这2个仓库源的地址:

这两个仓库的地址就是下面我复制的:wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repowget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

说明:repo是repository仓库的前4个字母。命令:wget https://mirrors.aliyun.com/repo/Centos-7.repo 表示下载这个链接的文件,下载下来就是一个名为centos-7.repo文件。而加参数-O大写表示把这个链接的这个文件下载到你机器的这个/etc/yum.repos.d/目录下,并重命名为CentOS-Base.repo。

(4)在linux平台上,下载新的yum仓库文件,完成阿里云的yum源配置

(5)更新yum缓存

阿里云的yum源配置完成后,要先更新yum缓存:yum clean all ,先清空原来的缓存,然后再yum makecache 。

3、yum命令常见用法至此,你就可以:(1)用yum自动化搜索、安装、升级阿里云软件仓库里的软件了。 (2)用yum自动化管理你机器上rpm安装的软件了。比如:yum install xxx -y,就自动去你配置的阿里云软件源仓库里面找xxx软件了,如果找到就自动下载、安装、解决依赖;yum search xxx,就自动搜索xxx软件了;yum update xxx,升级xxx软件;yum upgrade,升级操作系统的所有软件和内核。操作系统是由centos代码+linux内核代码构成的。yum remove xxx -y,就自动卸载了xxx软件,但只卸载xxx软件的二进制命令,软件的日志、配置文件等还在。yum clean all,清空yum缓存文件。yum makecache,生成新的yum缓存文件。yum repolist all,显示当前都有哪些yum源。yum list |wc -l ,当前yum源中有多少rpm软件包。说明:通过yum安装的软件,也可以通过systemctl工具去管理启停操作

4、linux常见的基础依赖环境linux常见的基础软件是我们在装机的时候,系统安装的时候,就应该安装上了,但我们一般都用的是虚拟机,而且都安装的是mini版的最小化的操作系统,所以很多基础软件都没有,所以在后期我们安装其他复制的软件的时候,就经常会报错,报各种依赖或者各种库不存在,导致软件安装出现问题,所以我们后期要先手动至少安装如下软件:yum install gcc patch libffi-devel python-devel zlib-devel1 bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y这些都是常见的依赖包

5、配置yum仓库的注意点(1)配置yum仓库目录语法yum的仓库文件都被统一放在了一个固定的目录/etc/yum.repos.d/下面。在这个目录里,名字是xxx.repo结尾的文件,就会被yum识别为仓库文件,并且只能是在这一层目录,否则都无法被识别为yum仓库。 就是如果在目录/etc/yum.repos.d目录里面没有.repo文件,就被视为没有yum源。

(2)配置yum仓库文件语法上面演示的配置阿里云yum源的时候,当我们wget -O xxx后,就自动在/etc/yum.repos.d/目录下生成一个yum的配置文件CentOS-Base.repo和epel.repo文件,就表示我们配置好了阿里云yum源。同理,如果我们想配置本地yum源的话,那/etc/yum.repos.d/目录下的xxx.repo文件怎么写?

这个创建语法我们可以参考阿里云的仓库文件的语法来写:

就是以后我们配置自己本地yum源的时候写xxx.repo配置文件的时候,写作格式就参考上图的写法。

(3)yum的缓存功能

(4)查看你机器的yum源

6、配置本地yum源之:挂载本地光盘,作为镜像源

就是找一个本地光盘作为yum的rpm包仓库。

(1)找一个光盘镜像

我们是虚拟机,所以让vmware连接上centos7光盘即可。这部分内容我们在(二)-5中有详细的截图展示。

如果你是一个物理机的话,你得准备一个外置光驱+自己刻录一个centos7光盘。

(2)找到光盘文件进行挂载

这部分也讲过,参考(二)-5。

(3)创建yum的仓库文件这个创建语法我们可以参考阿里云的仓库文件的语法来写,阿里云的语法在上面5-(2)详细讲解过。照葫芦画瓢,我们这样写:

4)清空旧的yum缓存,生成新的yum缓存

清空旧的yum缓存:yum clean all。清空是因为,我们之前用的是阿里云的yum源,那缓存里面的依赖包都比较新,现在我们改为本地光盘的yum源,这里的软件版本都很旧。如果我们不清空旧缓存,很可能导致安装不了。前面(二)-6部分里面讲的安装vim就是一个典型例子,就是机器上已经安装了vim的一些依赖包了,再安装版本低的vim就根本装不上,因为低版本的vim的依赖包也版本低,而系统已经有高版本的依赖包,就会一直报错安装不了vim。所以我们要先清空一下旧缓存。

生成新的yum缓存:yum makecache。再生成一些缓存是为了方便以后继续用这个源安装软件。再生成一些缓存,以后安装这个源里的软件就快了。

(5)此时你就可以用你的本地yum源,就是去你自己的光盘中,用yum安装软件了,就是离线也可以安装了

7、配置本地yum源之:自建yum仓库

配置网络源不安全、配置本地光盘镜像源麻烦(你除了得有很多rpm软件包和rpm依赖包,你还得刻录很多光盘,还得有光驱,麻烦),所以有的大公司都会选择自建本地yum文件夹仓库。本部分讲怎么搭建自己的yum文件夹仓库。

而自己的yum文件夹仓库中的rpm包,也是去其他软件官网去同步其rpm包到自己的文件夹仓库中。

8、案例:开发团队要部署一套数据库服务器环境来测试程序。要在测试机centos7.6上安装好MySQL-5.6.43版本,用于前期迁移准备工作。同时,要配置好本地yum源和外网源,方便后续软件包安装。

分析安装MySQL-5.6.43版本软件:一是可以下载MySQL-5.6.43.rpm包,手动rpm安装,但这种方式很可能会出现很多依赖包不存在,所以还得要手动rpm一个个安装依赖包,而且依赖包之间还有依赖顺序,就是要安装依赖顺序去安装。所以这种安装风险大,因为你也不知道会有多少依赖,万一一大堆依赖你就傻了。二是可以下载MySQL-5.6.43.tar.gz源码包编译安装,但这种安装方式,不同软件的不同版本,它的编译参数也不同,你还得仔细阅读软件安装说明,去了解各种参数的意思,然后configure+参数,再make &&make install。也费劲。三是,你可以yum一键安装。因为mysql是一款常见软件了,各大yum源基本都有这个软件,所以一键安装,也省了解决依赖问题,也不用自己研究安装说明了。另外一个任务是置本地yum源和外网源:对于外网源,一是你可以选择阿里云的yum源,你也可以选择清华源,你还可以选择yum官方提供的yum源,当然yum官方提供的yum源最靠谱。阿里云的清华的源都是它们的工程师自己配的,是第三方源,可能会有版本低、携带后门软件、携带广告插件等不安全性因素配置本地yum源就参照上面5的步骤一步一配置即可。

待续。。。。。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3